﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
using DevExpress.XtraBars;
using System.Threading;
namespace AmiangProject
{
    public partial class FrmMain : DevExpress.XtraBars.Ribbon.RibbonForm
    {
        public FrmMain()
        {
            InitializeComponent();
            DevExpress.Skins.SkinManager.EnableFormSkins();
        }

        private void backstageViewControl1_Click(object sender, EventArgs e)
        {

        }

        private void FrmMain_Load(object sender, EventArgs e)
        {
            //Thread.Sleep(3000);
            FrmLogin frm = new FrmLogin();
            frm.ShowDialog();
            barStaticItem1.Caption = "Nhân viên đăng nhập : " + FrmLogin.tenNV + " | Mã số : " + FrmLogin.Username;
            timer1_Tick(null, null);
            //FrmStartScreen frm1 = new FrmStartScreen();
            //TabCreating(xtraTabControl1, "Xem danh mục Mặt Hàng", "Xem danh mục Mặt Hàng", frm1, -1);


            
        }
        static int KiemTraTonTai(DevExpress.XtraTab.XtraTabControl tabControlName, string tabName)
        {
            int re = -1;
            for (int i = 0; i < tabControlName.TabPages.Count; i++)
            {
                if (tabControlName.TabPages[i].Name == tabName)
                {
                    re = i;
                    break;
                }
            }
            return re;
        }
        /// <summary>
        /// Tạo thêm tab mới
        /// </summary>
        /// <param name="tabControl">Tên TabControl để add thêm tabpage mới vào</param>
        /// <param name="Text">Tiêu đề tabpage mới</param>
        /// <param name="Name">Tên tabpage mới</param>
        /// <param name="form">Tên form con của tab mới</param>
        /// <param name="imageIndex">index của icon</param>
        void TabCreating(DevExpress.XtraTab.XtraTabControl tabControl, string Text, string Name, DevExpress.XtraEditors.XtraForm form, int imageIndex)
        {
            int index = KiemTraTonTai(tabControl, Name);
            if (index >= 0)
            {
                tabControl.SelectedTabPage = tabControl.TabPages[index];
                tabControl.SelectedTabPage.Text = Text;
            }
            else
            {
                DevExpress.XtraTab.XtraTabPage tabpage = new DevExpress.XtraTab.XtraTabPage { Text = Text, Name = Name, ImageIndex = imageIndex };
                tabControl.TabPages.Add(tabpage);
                tabControl.SelectedTabPage = tabpage;

                form.TopLevel = false;
                form.Parent = tabpage;
                form.Show();                
                form.Dock = DockStyle.Fill;
            }
        }

        

        private void timer1_Tick(object sender, EventArgs e)
        {
            string date = DateTime.Now.ToString("dd");
            string month = DateTime.Now.Month.ToString();
            string year = DateTime.Now.Year.ToString();

            barStaticItem2.Caption = "Thời gian hệ thống : Ngày " + date + " tháng " + month + " năm " + year
                + " | Thời gian : " + DateTime.Now.ToString("HH:mm:ss");
            
        }

        private void barButtonItem4_ItemClick(object sender, ItemClickEventArgs e)
        {
            
        }

        private void barButtonItem20_ItemClick(object sender, ItemClickEventArgs e)
        {

        }

        private void btn_DM_BienDongGiaCa_ItemClick(object sender, ItemClickEventArgs e)
        {
            /*ucBienDongGiaCa uc = new ucBienDongGiaCa();
            uc.Dock = DockStyle.Fill;
            panelControl1.Controls.Clear();
            panelControl1.Controls.Add(uc);*/
            frmDM_BienDongGiaCa frm = new frmDM_BienDongGiaCa();
            TabCreating(xtraTabControl1, "Danh mục > Biến động giá cả", "Xem danh mục Biến Động Giá Cả", frm, -1);
        }

        private void btn_DM_MatHang_ItemClick(object sender, ItemClickEventArgs e)
        {
            
            /*ucDM_MatHang uc = new ucDM_MatHang();
            uc.Dock = DockStyle.Fill;
            panelControl1.Controls.Clear();
            panelControl1.Controls.Add(uc);*/
            frmDM_MatHang frm = new frmDM_MatHang();
            TabCreating(xtraTabControl1, "Danh mục > Mặt Hàng", "Xem danh mục Mặt Hàng", frm, -1);
        }

        private void btn_QL_MatHang_ItemClick(object sender, ItemClickEventArgs e)
        {
            /*ucQL_MatHang uc = new ucQL_MatHang();
            uc.Dock = DockStyle.Fill;
            panelControl1.Controls.Clear();
            panelControl1.Controls.Add(uc);*/
            frmQL_MatHang frm = new frmQL_MatHang();
            TabCreating(xtraTabControl1, "Quản lý > Mặt Hàng", "Quản lý các mặt hàng", frm, -1);
        }

        private void xtraTabControl1_CloseButtonClick(object sender, EventArgs e)
        {
            DevExpress.XtraTab.XtraTabControl xtab = (DevExpress.XtraTab.XtraTabControl)sender;
            if (xtab.SelectedTabPageIndex == 0) return;
            int i = xtab.SelectedTabPageIndex;
            xtab.TabPages.RemoveAt(xtab.SelectedTabPageIndex);
            xtab.SelectedTabPageIndex = i - 1;
        }

        private void FrmMain_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (e.CloseReason == CloseReason.UserClosing)
            {
                DialogResult dialog = MessageBox.Show("Bạn có thật sự muốn thoát chương trình?", "Cảnh báo",
                    MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);
                if (dialog == DialogResult.Cancel)
                    e.Cancel = true;
            }
        }

        private void btn_DM_HoaDonXuatHang_ItemClick(object sender, ItemClickEventArgs e)
        {

        }
    }
}